Перем ЮнитТест;

#Область ОбработчикиСобытийМодуля

Функция ПолучитьСписокТестов(МенеджерТестирования) Экспорт
	
	ЮнитТест = МенеджерТестирования;

	СписокТестов = Новый Массив;
	СписокТестов.Добавить("ТестКонструктор");
	СписокТестов.Добавить("TestConstructor");
	СписокТестов.Добавить("ТестИмя");
	СписокТестов.Добавить("ТестИмяТипа");
	СписокТестов.Добавить("ТестПрисоединениеКГруппеПодстановки");
	СписокТестов.Добавить("ТестАнонимноеОпределениеТипа");
	СписокТестов.Добавить("ТестАннотация");
	СписокТестов.Добавить("ТестСсылка");

	Возврат СписокТестов;

КонецФункции

#КонецОбласти

#Область ОбработчикиТестирования

Процедура ТестКонструктор() Экспорт

	ОбъявлениеЭлемента = Новый ОбъявлениеЭлементаXS;
	
	ЮнитТест.ПроверитьРавенство(ТипЗнч(ОбъявлениеЭлемента), Тип("ОбъявлениеЭлементаXS"));
	ЮнитТест.ПроверитьРавенство(ОбъявлениеЭлемента.ТипКомпоненты, ТипКомпонентыXS.ОбъявлениеЭлемента);
	ЮнитТест.ПроверитьЛожь(ОбъявлениеЭлемента.ЭтоСсылка);
	
КонецПроцедуры

Procedure TestConstructor() Export

	ElementDeclaration = new XSElementDeclaration;
	
	ЮнитТест.ПроверитьРавенство(TypeOf(ElementDeclaration), Type("XSElementDeclaration"));
	ЮнитТест.ПроверитьРавенство(ElementDeclaration.ComponentType, XSComponentType.ElementDeclaration);

EndProcedure

Процедура ТестИмя() Экспорт

	ОбъявлениеЭлемента = Новый ОбъявлениеЭлементаXS;

	ОбъявлениеЭлемента.Имя = "test";

	ЮнитТест.ПроверитьРавенство(ОбъявлениеЭлемента.Имя, "test");

КонецПроцедуры

Процедура ТестИмяТипа() Экспорт

	ОбъявлениеЭлемента = Новый ОбъявлениеЭлементаXS;
	ИмяТипа = Новый РасширенноеИмяXML("http://www.w3.org/2001/XMLSchema", "string");

	ОбъявлениеЭлемента.ИмяТипа = ИмяТипа;

	ЮнитТест.ПроверитьРавенство(ОбъявлениеЭлемента.ИмяТипа, ИмяТипа);

КонецПроцедуры

Процедура ТестПрисоединениеКГруппеПодстановки() Экспорт

	ОбъявлениеЭлемента = Новый ОбъявлениеЭлементаXS;
	ГруппаПодстановки = Новый РасширенноеИмяXML("http://www.w3.org/2001/XMLSchema", "string");

	ОбъявлениеЭлемента.ПрисоединениеКГруппеПодстановки = ГруппаПодстановки;

	ЮнитТест.ПроверитьРавенство(ОбъявлениеЭлемента.ПрисоединениеКГруппеПодстановки, ГруппаПодстановки);

КонецПроцедуры

Процедура ТестАнонимноеОпределениеТипа() Экспорт

	ОбъявлениеЭлемента = Новый ОбъявлениеЭлементаXS;
	
	ОпределениеПростогоТипа = Новый ОпределениеПростогоТипаXS;
	ОбъявлениеЭлемента.АнонимноеОпределениеТипа = ОпределениеПростогоТипа;

	ЮнитТест.ПроверитьРавенство(ОбъявлениеЭлемента.АнонимноеОпределениеТипа, ОпределениеПростогоТипа);
	ЮнитТест.ПроверитьРавенство(ОпределениеПростогоТипа.Контейнер, ОбъявлениеЭлемента);

	ОпределениеСоставногоТипа = Новый ОпределениеСоставногоТипаXS;
	ОбъявлениеЭлемента.АнонимноеОпределениеТипа = ОпределениеСоставногоТипа;
	
	ЮнитТест.ПроверитьРавенство(ОбъявлениеЭлемента.АнонимноеОпределениеТипа, ОпределениеСоставногоТипа);
	ЮнитТест.ПроверитьРавенство(ОпределениеСоставногоТипа.Контейнер, ОбъявлениеЭлемента);

КонецПроцедуры

Процедура ТестАннотация() Экспорт

	ОбъявлениеЭлемента = Новый ОбъявлениеЭлементаXS;

	Аннотация = Новый АннотацияXS;
	ОбъявлениеЭлемента.Аннотация = Аннотация;

	ЮнитТест.ПроверитьРавенство(ОбъявлениеЭлемента.Аннотация, Аннотация);
	ЮнитТест.ПроверитьРавенство(Аннотация.Контейнер, ОбъявлениеЭлемента);

КонецПроцедуры

Процедура ТестСсылка() Экспорт

	ОбъявлениеЭлемента = Новый ОбъявлениеЭлементаXS;
	ИмяТипа = Новый РасширенноеИмяXML("http://www.w3.org/2001/XMLSchema", "string");

	ОбъявлениеЭлемента.Ссылка = ИмяТипа;

	ЮнитТест.ПроверитьРавенство(ОбъявлениеЭлемента.Ссылка, ИмяТипа);
	ЮнитТест.ПроверитьИстину(ОбъявлениеЭлемента.ЭтоСсылка);

КонецПроцедуры

#КонецОбласти